package edu.kjxy.day03.synBlockString2;

/**
 * 功能:对象监视器不同，所以运行结果就是异步，交叉运行
 * 同步代码块放在非同步synchronized方法中声明，并不能保证调用方法的线程执行同步/顺序性，
 * 也就是线程调用方法的顺序是无序的，虽然在同步块中执行的顺序是同步的，这样极易出现“脏读”问题。
 * 使用非this对象同步代码块格式也可以解决“脏读”问题。多个线程调用同一个方法是随机的。
 * 作者:程序员欧阳子韩
 * 日期:2024/2/2 19:06
 */
public class RunTest {
    public static void main(String[] args) {
        Service service = new Service();
        ThreadA threadA = new ThreadA(service);
        threadA.setName("A");
        threadA.start();
        ThreadB threadB = new ThreadB(service);
        threadB.setName("B");
        threadB.start();
    }
}
